"""
三目(元)运算符
enumerate()方法
all any
"""

#三目运算符
"""
 Java c = a > b ? a : b
"""
def f1():
 a=3
 b=2
 c = a if a > b else b # c 默认赋值为a ,如果a > b 不成立则 c赋值为b
 print(c)

#enumerate()函数 用于将一个可遍历的序列(列表、元组、字符串)组合为一个索引序列，同时列出数据和数据下标
def f2():

    list1=["a","b","c","d"]
    t = enumerate(list1,start=1)#第一个参数是序列 ，第二个参数是起始值 ，默认为0
    print(t)
    for index,elem in t:
        print("索引值为：",index,"值为：",elem)
"""
all: 用于判断序列中的元素是否都为True，如果都是True 返回True,否则返回False
        为False的元素：0 空值（不是空列表） None False
        其他值全都为True
any:用于判断序列中的元素是否都为False，如果都是False返回False,否则返回True
      为False的元素：0 空值（不是空列表） None False
"""
def f3():
    # print(all(["a","b","c","d"]))#True
    # print(all(["a", "b", "", "d"]))# 空格也是一个元素，并不是空值 False
    # print(all([0,1,2,3,"b","c","d"]))#False
    #
    # print(all( [] )) # 空列表 为True
    # print(all( () )) # 空元组 为True

    print(any(["a", "b", "c", "d"]))  # True
    print(any(["a", "b", "", "d"]))  #  True True False True  ==  True
    print(all([0, "",False,None]))  # False

    print(any([]))  # 空列表 为 False
    print(any(()))  # 空元组 为 False

    #示例：检查列表中是否所有元素为正数  校验用户是否输出数据 校验文件是否包含空行 处理数据分析（检查数据集中是否存在任何缺失值）
    values = [1,2,3,-4,5]
    print("结果：", all(     x > 0   for x in values         ) )# True True True False True


if __name__ == '__main__':
    #f1()
    #f2()
    f3()
